package com.platform.base.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.platform.common.annotation.Excel;
import com.platform.common.core.domain.TreeEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * 住户信息对象 base_location
 *
 * @author wangqi
 * @date 2020-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("base_location")
public class BaseLocationData extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 地址id */
    @TableId(type = IdType.AUTO)
    private Long locationId;

    /** 地址名称 */
    @NotBlank(message = "地址名称不能为空")
    @Excel(name = "地址名称")
    private String locationName;

   /* @TableField(exist = false)
    @Excel(name = "地址类型")
    private String typeName;

    *//** 地址类型 *//*
    @NotBlank(message = "地址类型不能为空")
    private String locationType;*/
    /** 地址类型 */
    @Excel(name = "地址类型", readConverterExp = "01=(总)公司,02=(分)公司,03=小区,04=楼(幢),05=单元,06=热户,07=换热站,08=热力站")
    private String locationType;

    @TableField(exist = false)
    @Excel(name = "一级地址")
    private String parent1;

    @TableField(exist = false)
    @Excel(name = "二级地址")
    private String parent2;

    @TableField(exist = false)
    @Excel(name = "三级地址")
    private String parent3;

    @TableField(exist = false)
    @Excel(name = "四级地址")
    private String parent4;

    @TableField(exist = false)
    @Excel(name = "五级地址")
    private String parent5;

    /** 建筑面积 */
    @Excel(name = "建筑面积")
    private BigDecimal buildArea;

    /** 计费面积 */
    @Excel(name = "计费面积")
    private BigDecimal costArea;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String locationHode;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String locationContact;

    /** 用户号 */
    @Excel(name = "用户号")
    private String locationNumber;

    /** 删除标识0正常1删除 */
    private String delFlag;

    /** 采集器数量 */
    @TableField(exist = false)
    private Integer collectorCount;

    /** 阀门数量 */
    @TableField(exist = false)
    private Integer valveCount;

    /** 热表数量 */
    @TableField(exist = false)
    private Integer meterCount;

    /** 温度采集器数量 */
    @TableField(exist = false)
    private Integer tempCount;

    /** 父级名称 */
    @TableField(exist = false)
    private String parentName;

    /** 热表ID */
    @TableField(exist = false)
    @Excel(name = "热表ID")
    private String meterId;

    /** 累计热量 */
    @TableField(exist = false)
    @Excel(name = "累计热量")
    private String heat;

    /** 累计流量 */
    @TableField(exist = false)
    @Excel(name = "累计流量")
    private String flow;

    /** 当前功率 */
    @TableField(exist = false)
    @Excel(name = "当前功率")
    private String power;

    /** 瞬时流量 */
    @TableField(exist = false)
    @Excel(name = "瞬时流量")
    private String instant;

    /** 进水温度 */
    @TableField(exist = false)
    @Excel(name = "进水温度")
    private String inlet;

    /** 出水温度 */
    @TableField(exist = false)
    @Excel(name = "出水温度")
    private String outlet;

    /** 热表工作时间 */
    @TableField(exist = false)
    @Excel(name = "热表采集时间")
    private String meterCreate;

    /** 热表工作时间 */
    @TableField(exist = false)
    @Excel(name = "工作时间")
    private String meterWork;

    /** 热表时间 */
    @TableField(exist = false)
    @Excel(name = "热表时间")
    private String gatherTime;

    /** 阀门ID */
    @TableField(exist = false)
    @Excel(name = "阀门ID")
    private String valveId;

    /** 温度上限 */
    @TableField(exist = false)
    @Excel(name = "温度上限")
    private String max;

    /** 温度下限 */
    @TableField(exist = false)
    @Excel(name = "温度下限")
    private String min;

    /** 阀温度值 */
    @TableField(exist = false)
    @Excel(name = "阀温度值")
    private String temp;

    /** 室内温度 */
    @TableField(exist = false)
    @Excel(name = "室内温度")
    private String indoor;

    /** 工作时间 */
    @TableField(exist = false)
    @Excel(name = "阀门采集时间")
    private String valveCreate;

    /** 工作时间 */
    @TableField(exist = false)
    @Excel(name = "阀门工作时间")
    private String valveWork;

    /** 阀门开度 */
    @TableField(exist = false)
    @Excel(name = "阀门开度")
    private String aperture;
    /** 上线状态 */
    @TableField(exist = false)
    @Excel(name = "上线状态")
    private Integer onlineStatus;

    /** 缴费状态 */
    @TableField(exist = false)
    @Excel(name = "用户类型", readConverterExp = "0=未缴费,1=缴费")
    private String status;

}
